Skip to content

Prune 154 stale tracked files under backups/#13

Merged
MCamner merged 1 commit into
mainfrom
chore/prune-stale-backups
Jun 21, 2026
Merged

Prune 154 stale tracked files under backups/#13
MCamner merged 1 commit into
mainfrom
chore/prune-stale-backups

Conversation

@MCamner

@MCamner MCamner commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Why

repo-signal doctor scored macos-scripts strong across the board (health 100, docs 100, AI 100, release 85). The one drag: backups/ was the largest directory by far — 154 tracked files, ~2.0M, including:

  • old mqlaunch-*.sh.bak versions and mqlaunch-v2/v3 stable copies
  • perf snapshots and workspace dumps
  • nested backup-of-backup snapshots: backups/scripts/<ts>/backups/scripts/<ts>/...

These were committed before .gitignore started ignoring backups/scripts/* and backups/launchers/*.bak — gitignore doesn't untrack already-tracked files, so they lingered.

Safe to remove

Audited every live reference to backups/: each one either writes into it (create-debug-bundle.sh, document-functions.sh --backup, workspace.sh — all guarded by mkdir -p) or excludes it from scanning (lint.sh, install-smoke.sh, the menu finds). Nothing reads from it.

Change

  • git rm -r backups/ (history preserves everything).
  • Keep backups/README.md so the documented runtime dir survives; subdirs are recreated on demand by the write scripts.
  • Tighten .gitignore to backups/* + !backups/README.md.

Result

Drops ~59k lines and 2.0M from the tree, and clears the 15 false-positive bash -n hits that all lived under backups/. Full selftest + install-smoke green; shell lint unchanged at 108 files (it already excluded backups).

🤖 Generated with Claude Code

backups/ is a runtime snapshot/bundle directory — its README documents it
as local-only, and .gitignore already ignored backups/scripts/* and
backups/launchers/*.bak. But 154 files committed before those rules were
added stayed tracked: old mqlaunch .bak versions, perf snapshots, and
nested backup-of-backup snapshots (backups/scripts/<ts>/backups/scripts/<ts>/...).

Nothing reads from backups/ — every live reference either writes into it
(all guarded by mkdir -p) or excludes it from scanning. Remove the tracked
cruft (history preserves it) and tighten .gitignore to ignore everything
under backups/ except the README. Write scripts recreate their subdirs at
runtime.

Drops ~59k lines and 2.0M from the tree; clears the 15 false-positive
bash -n hits that all lived under backups/. Full selftest + install-smoke green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@MCamner MCamner merged commit 59533ab into main Jun 21, 2026
1 check passed
@MCamner MCamner deleted the chore/prune-stale-backups branch June 21, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant